ROC-AUC Curve এবং Model Evaluation Metrics

Model Evaluation এবং Visualization - মাইক্রোসফট কগনিটিভ টুলকিট (Microsoft Cognitive Toolkit) - Machine Learning

251

ROC-AUC Curve এবং Model Evaluation Metrics হল মডেল পারফর্মেন্স এবং কার্যকারিতা পরিমাপ করার অত্যন্ত গুরুত্বপূর্ণ টুল। এটি classification মডেলগুলির জন্য ব্যবহার করা হয়, যেখানে আমরা আসল (real) এবং পূর্বাভাস (predicted) ক্লাসের মধ্যে পার্থক্য মূল্যায়ন করি।

এখানে ROC-AUC Curve এবং Model Evaluation Metrics এর বিস্তারিত ব্যাখ্যা দেওয়া হল:


1. ROC Curve (Receiver Operating Characteristic Curve)

ROC Curve হল একটি গ্রাফিক্যাল রিসোর্স যা classifier এর True Positive Rate (TPR) এবং False Positive Rate (FPR) এর মধ্যে সম্পর্ক দেখায়। এটি মূলত binary classification মডেলগুলির পারফর্মেন্স বিশ্লেষণ করতে ব্যবহৃত হয়।

ROC Curve এর প্রধান উপাদান:

  • True Positive Rate (TPR) বা Recall: এটি সঠিকভাবে সনাক্ত করা পজিটিভ ক্লাসের অনুপাত। TPR হল True Positives / (True Positives + False Negatives)
  • False Positive Rate (FPR): এটি সঠিকভাবে সনাক্ত করা নেগেটিভ ক্লাসের অনুপাত। FPR হল False Positives / (False Positives + True Negatives)

ROC Curve এর ব্যাখ্যা:

  • X-axis: False Positive Rate (FPR)
  • Y-axis: True Positive Rate (TPR)

ROC curve যত বেশি উপরের দিকে এবং বামদিকে থাকে, ততই মডেলটির কার্যকারিতা ভালো। এর মানে হল যে মডেলটি TPR বৃদ্ধি করতে পারছে, যখন FPR কম রাখতে পারছে।

ROC Curve এর উদাহরণ:

import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve

# প্রকৃত লেবেল এবং পূর্বাভাসের স্কোর
y_true = [0, 0, 1, 1]
y_pred = [0.1, 0.4, 0.35, 0.8]

# ROC curve হিসেব করা
fpr, tpr, thresholds = roc_curve(y_true, y_pred)

# ROC curve প্লট করা
plt.figure()
plt.plot(fpr, tpr, color='blue', label='ROC curve')
plt.plot([0, 1], [0, 1], color='gray', linestyle='--')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend(loc='lower right')
plt.show()

2. AUC (Area Under the Curve)

AUC (Area Under the Curve) হল ROC curve এর নিচে ক্ষেত্রের এলাকা, যা মডেলের পারফরম্যান্স পরিমাপের একটি সূচক। AUC এর মান 0 থেকে 1 এর মধ্যে থাকে:

  • AUC = 1: মডেলটি পুরোপুরি সঠিক, যেটি কোনো ভুল পূর্বাভাস দেয় না।
  • AUC = 0.5: মডেলটি র্যান্ডম পূর্বাভাস দেয়, অর্থাৎ, এটি আসল এবং নকল ক্লাস আলাদা করতে পারে না।
  • AUC < 0.5: মডেলটি অসামান্য, অর্থাৎ এটি আসল এবং নকল ক্লাস বিপরীতভাবে শ্রেণীবদ্ধ করছে।

AUC মূল্যায়ন উদাহরণ:

from sklearn.metrics import roc_auc_score

# প্রকৃত লেবেল এবং পূর্বাভাসের স্কোর
y_true = [0, 0, 1, 1]
y_pred = [0.1, 0.4, 0.35, 0.8]

# AUC পরিমাপ করা
auc = roc_auc_score(y_true, y_pred)
print('AUC:', auc)

3. Model Evaluation Metrics

মডেল মূল্যায়নের জন্য বিভিন্ন মেট্রিক্স ব্যবহার করা হয়, যা মডেলের কার্যকারিতা পরিমাপ করতে সাহায্য করে। এগুলির মধ্যে কিছু সাধারণ মেট্রিক্স নিম্নরূপ:

1. Accuracy (সঠিকতা)

Accuracy হল সঠিক পূর্বাভাসের অনুপাত, অর্থাৎ, মডেলটি সঠিকভাবে কতটা পূর্বাভাস করতে পারছে। এটি classification মডেলগুলির জন্য ব্যবহৃত একটি সাধারণ মেট্রিক।

Formula:

Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP + TN}{TP + TN + FP + FN}

2. Precision (প্রিসিশন)

Precision হল সঠিকভাবে সনাক্ত করা পজিটিভ ক্লাসের অনুপাত। এটি মূলত মডেলের ভুল পজিটিভ (False Positive) গুলির সংখ্যা কমানোর জন্য গুরুত্বপূর্ণ।

Formula:

Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}

3. Recall (রিকল) / Sensitivity

Recall বা Sensitivity হল সঠিকভাবে সনাক্ত করা পজিটিভ ক্লাসের অনুপাত, যেগুলি আসলে পজিটিভ ছিল। এটি মডেলের True Positive সনাক্তকরণের ক্ষমতা পরিমাপ করে।

Formula:

Recall=TPTP+FNRecall = \frac{TP}{TP + FN}

4. F1 Score

F1 Score হল Precision এবং Recall এর হারমনিক গড়, এবং এটি একটি ভাল মেট্রিক যখন আপনার Precision এবং Recall এর মধ্যে ভারসাম্য রাখা প্রয়োজন।

Formula:

F1Score=2×Precision×RecallPrecision+RecallF1 Score = 2 \times \frac{Precision \times Recall}{Precision + Recall}

5. Confusion Matrix

Confusion Matrix হল একটি টেবিল যা আসল এবং পূর্বাভাসকৃত লেবেলের মধ্যে সম্পর্ক প্রদর্শন করে। এটি সত্য পজিটিভ (TP), সত্য নেগেটিভ (TN), মিথ্যা পজিটিভ (FP), এবং মিথ্যা নেগেটিভ (FN) এর পরিমাপ প্রদান করে।

Formula:

Confusion Matrix=[TPFPFNTN]\text{Confusion Matrix} = \begin{bmatrix} TP & FP \\ FN & TN \end{bmatrix}

6. ROC Curve এবং AUC

ROC Curve এবং AUC (Area Under the Curve) দুটি গুরুত্বপূর্ণ মেট্রিক যা মডেলের পারফরম্যান্স বিশ্লেষণ করতে সাহায্য করে। AUC মূলত মডেলের ক্ষমতা পরিমাপ করে।

7. Log Loss / Cross-Entropy Loss

Log Loss বা Cross-Entropy Loss হল একটি গুরুত্বপূর্ণ loss function যা মডেলের ভুল পূর্বাভাসের পরিমাণ পরিমাপ করে। এটি সাধারণত binary classification এবং multiclass classification মডেলগুলিতে ব্যবহৃত হয়।

Formula:

LogLoss=1N[ylog(p)+(1y)log(1p)]LogLoss = -\frac{1}{N} \sum \left[ y \log(p) + (1 - y) \log(1 - p) \right]

যেখানে:

  • y = আসল মান
  • p = পূর্বাভাস প্রোবাবিলিটি

সারাংশ

  • ROC Curve এবং AUC মডেলের পারফরম্যান্স বিশ্লেষণ করতে ব্যবহার হয়, যেখানে AUC হল ROC Curve এর নিচে ক্ষেত্রের এলাকা, যা মডেলের কার্যকারিতা পরিমাপ করে।
  • Model Evaluation Metrics বিভিন্ন মেট্রিক্স যেমন Accuracy, Precision, Recall, F1 Score, Confusion Matrix ইত্যাদি ব্যবহার করে মডেলটির সঠিকতা এবং কার্যকারিতা পরিমাপ করতে সহায়ক।
  • F1 Score একটি গুরুত্বপূর্ণ মেট্রিক যখন Precision এবং Recall এর মধ্যে ভারসাম্য থাকতে হয়।
Content added By
Promotion

Are you sure to start over?

Loading...